﻿ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace FAS.Objetos
{
    public class Opcion: IFas
    {
        #region Atributos
        public string Nombre { get; set; }
        public string Texto { get; set; }
        public bool Respuesta { get; set; }
        public int IdOpcion { get; set; }
        public int IdProblema { get; set; }
        private ConexionMySQL conexion = new ConexionMySQL();
        #endregion

        #region Constructor
        public Opcion() { }
        public Opcion(string nombre, bool respuesta, int IdProblema, string texto)
        {
            this.IdProblema = IdProblema;
            this.Nombre = nombre;
            this.Respuesta = respuesta;
            this.Texto = texto;
        }
        #endregion

        #region Metodos
        public Opcion GetOpcion(int id_Opcion)
        {
            DataSet data = new ConexionMySQL().GetQuery("SELECT * FROM `Opcion` where IdOpcion = '" + id_Opcion + "'");
            Opcion opcion = new Opcion();
            opcion.IdOpcion = id_Opcion;
            opcion.Nombre = data.Tables[0].Rows[0]["Nombre"].ToString();
            opcion.Texto = data.Tables[0].Rows[0]["Texto"].ToString();
            opcion.Respuesta = bool.Parse( data.Tables[0].Rows[0]["Respuesta"].ToString());
            opcion.IdProblema =int.Parse( data.Tables[0].Rows[0]["IdProblema"].ToString());
            return opcion;
        }

        public Dictionary<string, object> getAtributos()
        {
            Dictionary<string, object> diccionario = new Dictionary<string, object>();
            diccionario.Add("NombreP",Nombre);
            diccionario.Add("RespuestaP",Respuesta);
            diccionario.Add("IdOpcionP",IdOpcion);
            diccionario.Add("IdProblemaP", IdProblema);
            diccionario.Add("TextoP", Texto);
            return diccionario;
        }

        public Dictionary<string, object> getAtributosInsertar()
        {
            Dictionary<string, object> diccionario = new Dictionary<string, object>();
            diccionario.Add("TextoP", Texto);
            diccionario.Add("NombreP", Nombre);
            diccionario.Add("RespuestaP", Respuesta);
            diccionario.Add("IdProblemaP", IdProblema);
            return diccionario;
        }

        public bool update()
        {

            return conexion.AccionesDB(getAtributos(), "UpdateOpcion");
        }

        public bool delete()
        {
            return conexion.AccionesDB(getAtributos(), "DeleteOpcion");
        }

        public int insertar()
        {
            return conexion.insertar(getAtributosInsertar(), "InsertarOpcion", "IdOpcion", "`Opcion`");
        }
        #endregion

    }
}
